package com.mdinfo.system.service;

import com.mdinfo.base.common.bean.CommonResult;
import com.mdinfo.base.common.bean.DataGrid;
import com.mdinfo.system.param.MenuParam;
import com.mdinfo.system.vo.MenuVo;

import java.util.List;

/**
 * Created by Administrator on 2017/11/22.
 */
public interface IMenuService {

    /**
     * 查询所有权限
     */
    CommonResult<List<MenuVo.ListAllVo>> listAll();


    /**
     * 分页查询权限列表
     */
    CommonResult<DataGrid<MenuVo.ListQueryVo>> listQuery(MenuParam.ListQueryParam param);

    /**
     * 启用权限
     */
    CommonResult<Void> usable(MenuParam.UsableParam param);

    /**
     * 禁用权限
     */
    CommonResult<Void> disable(MenuParam.DisableParam param);

    /**
     * 删除权限
     */
    CommonResult<Void> delete(MenuParam.DeleteParam param);

    /**
     * 新增权限
     */
    CommonResult<Void> add(MenuParam.AddParam param);

    /**
     * 修改权限
     */
    CommonResult<Void> modify(MenuParam.ModifyParam param);

    /**
     * 查询所有可用的权限
     */
    CommonResult<List<MenuVo.ListUsableAllVo>> listUsableAll();

    /**
     * 测试
     */
    CommonResult<Void> test();
}
